package core

import (
	"context"
	"fmt"
	"github.com/go-redis/redis/v8"
	"leading/global"
)

func InitRedis() *redis.Client {
	rdb := redis.NewClient(&redis.Options{
		Addr:         fmt.Sprintf("%s:%d", global.Config.Redis.Host, global.Config.Redis.Port),
		Password:     global.Config.Redis.Password,
		DB:           global.Config.Redis.Db,
		PoolSize:     global.Config.Redis.PoolSize,
		MinIdleConns: global.Config.Redis.MinIdleConnes,
	})

	_, err := rdb.Ping(context.Background()).Result()
	if err != nil {
		global.Log.Error("初始化redis失败", err.Error())
		return nil
	}

	global.Log.Infof("初始化redis成功")
	var ctx = context.Background()
	global.Ctx = ctx
	global.RDB = rdb
	return rdb
}
